public static int WaterKing(int[] arr){
    //空的数组则返回没有
    if(arr == null || arr.length()==0 ){
        return -1;
    }
    //令候选和血量为0
    int condition= 0;
    int hp = 0;
    //血量为0，没有候选
    //这里可以使用for-each
    //for(int x: arr)
    for(int i = 0; i<arr.length() ;i++){
        if(hp==0){
            //condition = x
            condition = arr[i];
            hp = 1;
        }else{
            // x != condition
            if(arr[i] != condition){
                hp--;
            }else{
                hp++;
            }
        }
    }
    //说明没有水王
    if(hp == 0){
        return -1;
    }else{
        //重新遍历，针对condition 的值出现的次数
        int count = 0;
        for (int num :arr){
            if(num == condition){
                count++;
            }
        }
        int N = arr.length();
        //其中N>>1的意思为N/2 ,?condition:-1 的意思是，前面条件正确返回condition 否则返回-1；
        return count>(N>>1) ? condition : -1;
    }
}
